package cn.sc.summer.auth.service.user.info.base;

import cn.sc.summer.constant.service.Support;
import cn.sc.summer.token.po.UserDetailX;
import org.springframework.security.authentication.AuthenticationServiceException;
import org.springframework.security.core.Authentication;

/**
 * 类名：获取用户信息
 *
 * @author a-xin
 * @date 2024/9/11 15:31
 */
public interface UserInfoService extends Support {

    /**
     * 根据用户凭证信息获取用户信息
     *
     * @param authentication 用户认证信息
     * @return 用户信息
     * @throws AuthenticationServiceException 未找到用户信息异常
     */
    UserDetailX getUserInfo(Authentication authentication) throws AuthenticationServiceException;

}
